<template>
    <li>
        <label>
            <input type="checkbox" :checked="todo.done" @change="handleDone(todo.id)"/>
            <span>{{todo.title}}</span>
        </label>
        <button class="btn btn-danger" @click="delTodo(todo.id)">删除</button>
    </li>
</template>

<script>
export default {
    name:'MyItem',
    data(){
        return {

        }
    },
    props:['todo'],
    methods: {
      handleDone(id){
        this.$bus.$emit('changeDone',id)
      },
      delTodo(id){
        if(confirm('确定删除吗？')){
          this.$bus.$emit('deleteTodo',id)
        }
      }
    },
    beforeDestroy() {
      // 在销毁MyItem之前注销现在的自定义事件
      this.$bus.$off('changeDone');
      this.$bus.$off('deleteTodo');
    },
}
</script>

<style scoped>
 /*item*/
  li {
    list-style: none;
    height: 36px;
    line-height: 36px;
    padding: 0 5px;
    border-bottom: 1px solid #ddd;
  }

  li label {
    float: left;
    cursor: pointer;
  }

  li label li input {
    vertical-align: middle;
    margin-right: 6px;
    position: relative;
    top: -1px;
  }

  li button {
    float: right;
    display: none;
    margin-top: 3px;
  }

  li:before {
    content: initial;
  }

  li:last-child {
    border-bottom: none;
  }

  li:hover{
    cursor: pointer;
    background-color: lightgrey;
  }
  li:hover button{
    display: block;
  }
</style>